package com.tonann.app.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.tonann.app.domain.AppGateway;
import com.tonann.app.domain.AppProject;
import com.tonann.app.domain.AppSensor;
import com.tonann.common.annotation.Excel;
import com.tonann.common.core.domain.BaseEntity;
import com.tonann.common.core.domain.entity.SysUser;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 运行设备对象 app_device
 *
 * @author tonann
 * @date 2022-10-12
 */
@Data
public class AppDeviceDto implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long deviceId;

    /** 上级设备ID */
    @Excel(name = "上级设备ID")
    private Long parentId;

    /** 上级设备名称 */
    @Excel(name = "上级设备名称")
    private String parentName;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 网关名称 */
    @Excel(name = "网关名称")
    private String gatewayName;

    /** 设备编号 */
    @Excel(name = "设备编号")
    private String deviceCode;

    /** 设备名字 */
    @Excel(name = "设备名字")
    private String deviceName;
    /**
     * 生产厂商
     */
    @Excel(name = "生产厂商")
    private String manufactor;

    /**
     * 品牌
     */
    @Excel(name = "品牌")
    private String brand;

    /**
     * 型号
     */
    @Excel(name = "型号")
    private String model;

    /**
     * 购置日期
     */
    @Excel(name = "购置日期")
    private Date acquisitionDate;

    /**
     * 维保单位
     */
    @Excel(name = "维保单位")
    private String maintenanceUnit;

    /**
     * 上次维保日期
     */
    @Excel(name = "上次维保日期")
    private Date maintenanceDate;
    /**
     * 是否在线
     */
    @Excel(name = "是否在线")
    private String isOnline;

    /**
     * 是否运行
     */
    @Excel(name = "是否运行")
    private String isRunning;

    /**
     * 是否异常
     */
    @Excel(name = "是否异常")
    private String isException;

    /**
     * 是否演示设备
     */
    @Excel(name = "是否演示设备")
    private String isShow;

    /**
     * 设备类型 1照明系统  2 控制器系统  3排风系统 4新风系统  5空调系统 6纯水系统 7可燃气体 8 气路系统 9房间环境
     */
    @Excel(name = "设备类型")
    private String type;

    @Excel(name = "部门")
    private String deptName;

    @Excel(name = "空间位置")
    private String placeName;

    @Excel(name = "管理员")
    private String admin;

    @Excel(name = "操作员")
    private String operator;

    /**
     * 状态
     */
    @Excel(name = "状态")
    private String status;

}
